دستور AND & OR :
از And و Or برای ترکيب شرط ها در دستور Where استفاده می شود .
گاهی اوقات اطلاعات مورد نياز ما در دستور Select دارای چندين شرط مختلف است . به طور مثال ما مشخصات دانشجويان ترم دوم رشته نرم افزار که معدل آنها بيش از 15 است را می خواهيم . در اين حالت بايستی هر يک از شرط های مسئله را به تنهايی تعريف کرده و سپس آنها را با هم ترکيب کنيم . برنامه به ارزيابی هر يک از شرط ها پرداخته ، سپس نتايج حاصله را با هم ترکيب کرده و خروجی را تعيين می کند .
عملگر And برای اجرای دستور نياز دارد تا تمام شرط های تعيين شده برای آن درست باشد . در حالی که عمگر Or فقط نياز دارد که حداقل يکی از شرط های آن درست باشد . در جداول زير چگونگی برقراری نتيجه نهايی در هنگام استفاده از اين دو اوپراتور را مشاهده می کنيم :
در حالت 2 شرط :
درست |
درست |
درست |
درست |
غلط |
درست |
غلط |
درست |
درست |
غلط |
غلط |
غلط |
|
درست |
درست |
درست |
درست |
غلط |
غلط |
غلط |
درست |
غلط |
غلط |
غلط |
غلط |
|
چگونگی حالت های فوق را در مثال های زير بررسی می کنيم :
41252214 |
Ahmad |
Rezaee |
Hard Ware |
Tehran |
18 |
10724113 |
Ehsan |
Amiri |
Soft Ware |
Karaj |
14 |
10254861 |
Zahra |
Hosini |
Hard Ware |
Tehran |
17 |
27365187 |
Sahar |
Ahmadi |
Soft Ware |
Bam |
16 |
35654415 |
Hesam |
Razavi |
Soft Ware |
Tehran |
19 |
مثال 1 : مشخصات دانشجويانی را از جدول Student ارائه دهيد که نمره آنها بيش از 15 و رشته تحصيلی آنها نرم افزار باشد :
Select * From Student
Where Major = 'Soft Ware' AND Grade > 15 ; |
27365187 |
Sahar |
Ahmadi |
Soft Ware |
Bam |
16 |
35654415 |
Hesam |
Razavi |
Soft Ware |
Tehran |
19 |
|
مثال 2 : مشخصات دانشجويانی را از جدول Student ارائه دهيد که نمره آنها بيش از 17 بوده يا رشته تحصيلی آنها نرم افزار باشد :
Select * From Student
where Major = 'Soft Ware' OR Grade > 17 ; |
41252214 |
Ahmad |
Rezaee |
Hard Ware |
Tehran |
18 |
35654415 |
Hesam |
Razavi |
Soft Ware |
Tehran |
19 |
|
نکته مهم : همچنين می توان با استفاده از عملگر پرانتز چندين شرط مختلف را به صورت دسته های مجزا تعريف کرده و سپس همه آنها را با هم ترکيب کرد . در اين حالت شرط های هر گروه ابتدا در داخل پرانتز با هم ترکيب شده ، سپس نتيجه حاصله به عنوان نتيجه نهايي آن گروه شرط به دستور Where ارسال می شود و درنهايت نتايج تمام گروه ها با هم ترکيب می شوند .
مثال مهم : از جدول Student مشخصات دانشجويانی را ارائه دهيد که نمره آنها 18 و رشته تحصيلی آنها سخت افزار بوده يا نمره آنها 16 و رشته تحصيلی شان نرم افزار باشد :
Select * From Student
Where ( ( Grade = 18 AND Major = 'Hard Ware' ) OR ( Garde = 16 AND Major = 'Soft Ware' ) ) " ; |
41252214 |
Ahmad |
Rezaee |
Hard Ware |
Tehran |
18 |
27365187 |
Sahar |
Ahmadi |
Soft Ware |
Bam |
16 |
|
|
امتیاز مطلب : 3
|
تعداد امتیازدهندگان : 1
|
مجموع امتیاز : 1